---
title: Operations and processes
summary: Hub for the seven end-to-end workflows of the ClaimBillEntry application, each documented on its own page.
status: draft
owner: Claims
last_reviewed: 2026-09-30
---

# Operations and processes

The application supports seven workflows: six user-driven screen workflows and one request-pipeline workflow covering application-start composition and per-request authentication, routing and response handling. The repository has no local libraries, so the packages involved are the consumed SAIF internal packages, named in plain text. The tables consumed by those packages are now documented in the [data model's table catalog](data-model.md#data-access-summary)†; this page's per-operation Tables column was not re-traced against that catalog at the individual-operation level, so it still shows unknown** rather than naming specific tables per operation.

## Operations

| Operation | Intent | Trigger | Libraries involved | Screens | Rules | Tables |
| --- | --- | --- | --- | --- | --- | --- |
| [Open a bill from the inbox](operations/open-bill-from-inbox.md) | Work the personal inbox and open a bill | Double-click an Inbox row | `SAIF.SAIFCode.Core`, `SAIF.Framework.Core` | [Inbox](../screens/inbox.md), [Bill entry](../screens/entry.md) | [BR-SCR-011](business-rules.md#br-scr-011-inbox-owner-defaults-to-current-user), [BR-SCR-012](business-rules.md#br-scr-012-inbox-warns-on-confidential-claims-and-unknown-users), [BR-SCR-001](business-rules.md#br-scr-001-bills-must-be-in-an-openable-status), [BR-SCR-002](business-rules.md#br-scr-002-conflict-claim-bills-require-conflictclaim-permission), [BR-SCR-006](business-rules.md#br-scr-006-discard-permission-is-enforced-client-side-only), [BR-SCR-010](business-rules.md#br-scr-010-procedure-type-maps-to-principal-or-other) | Not traced** |
| [Key and submit a bill](operations/key-and-submit-bill.md) | Key a bill header, save it and submit it | Submit on the Bill entry screen | `SAIF.SAIFCode.Core` | [Bill entry](../screens/entry.md) | [BR-SCR-003](business-rules.md#br-scr-003-submit-requires-a-service-line), [BR-SCR-004](business-rules.md#br-scr-004-total-mismatch-requires-confirmation), [BR-SCR-005](business-rules.md#br-scr-005-status-becomes-entered-only-on-error-free-submit), [BR-SCR-007](business-rules.md#br-scr-007-type-of-bill-must-be-numeric), [BR-SCR-008](business-rules.md#br-scr-008-admit-type-must-be-1-to-5-or-9), [BR-SCR-009](business-rules.md#br-scr-009-unsaved-changes-warning) | Not traced** |
| [Maintain diagnoses, procedures and service lines](operations/maintain-bill-lines.md) | Edit the bill's coded lines and totals | Grid actions on the Bill entry screen | `SAIF.SAIFCode.Core` | [Bill entry](../screens/entry.md) | [BR-SCR-010](business-rules.md#br-scr-010-procedure-type-maps-to-principal-or-other), [BR-SCR-004](business-rules.md#br-scr-004-total-mismatch-requires-confirmation) | Not traced** |
| [Search bills and open a result](operations/search-and-open-bill.md) | Find bills by criteria and open one | Search submit | `SAIF.SAIFCode.Core` | [Search](../screens/search.md), [Bill entry](../screens/entry.md) | [BR-SCR-013](business-rules.md#br-scr-013-search-requires-qualifying-criteria), [BR-SCR-001](business-rules.md#br-scr-001-bills-must-be-in-an-openable-status) | Not traced** |
| [Send or pend a bill](operations/send-pend-bill.md) | Route a bill to another mailbox | Send or Pend on the Bill entry screen | `SAIF.SAIFCode.Core` | [Bill entry](../screens/entry.md) | None identified | Not traced** |
| [Discard a bill](operations/discard-bill.md) | Set a bill to discarded | Discard on the Bill entry screen | `SAIF.SAIFCode.Core` | [Bill entry](../screens/entry.md) | [BR-SCR-006](business-rules.md#br-scr-006-discard-permission-is-enforced-client-side-only) | Not traced** |
| [Request pipeline and composition](operations/request-pipeline-and-composition.md) | Compose dependencies at application start; authenticate and route each request, with web context and layout rendering for non-AJAX full views only | Application start and each HTTP request | `SAIF.SAIFCode.Web.Mvc`, `SAIF.Framework.Web.Mvc`, Autofac | [Bill entry](../screens/entry.md), [Inbox](../screens/inbox.md), [Search](../screens/search.md) | None identified | Not traced** |

## Cross-operation flow

The diagram shows how the screen workflows connect to one another.

```mermaid
flowchart LR
    Inbox["Inbox"] -->|"open a bill"| Entry["Bill entry"]
    Search["Search"] -->|"open a result"| Entry
    Entry -->|"submit, send or pend, discard<br>(Auto feed unchecked)"| Inbox
    Entry -->|"submit, send or pend, discard<br>(Auto feed checked: next queue bill)"| Entry
    Pipe["Request pipeline"] -.->|"each request"| Inbox
    Pipe -.-> Entry
    Pipe -.-> Search
```

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Configuration](configuration.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [Data model](data-model.md)
- [Hosted endpoints](hosted-endpoints.md)
- [Tech debt](tech-debt.md)
- [Screen catalog](../screens/index.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources
- ClaimBillEntry/Controllers/EntryController.cs
- ClaimBillEntry/Controllers/InboxController.cs
- ClaimBillEntry/Controllers/SearchController.cs
- ClaimBillEntry/Controllers/BaseController.cs
- ClaimBillEntry/Global.asax.cs
- SAIF.DependencyMaps.Web.ClaimBillEntry/DependencyMap.cs
